package com.charles.video.system.mapper;

import com.charles.video.api.domain.SysUser;
import com.charles.video.system.vo.SearchUserForm;
import com.charles.video.system.vo.UserDetailVo;
import com.charles.video.system.vo.UserModifyForm;
import com.charles.video.system.vo.UserTableDataVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SysUserMapper {

    /**
     * 通过帐号获取用户信息
     */
    SysUser queryUserByAccount(String account);

    /**
     * 获取用户表格的数据
     */
    List<UserTableDataVo> queryUserTableData(SearchUserForm searchUserForm);

    /**
     * 查看用户详情
     */
    UserDetailVo queryUserDetail(Long userId);

    /**
     * 获取用户编辑表数据
     */
    UserModifyForm queryUserModifyForm(Long userId);

    /**
     * 通过邮箱获取用户信息
     */
    SysUser queryUserByEmail(String email);

    /**
     * 新增用户
     */
    boolean insertUser(SysUser user);
    
    /**
     * 修改用户信息
     */
    boolean modifyUser(UserModifyForm user);

    /**
     * 删除用户
     */
    boolean deleteUser(Long userId);

}
